Java零基础-方法覆盖

当父类中的方法已经无法满足当前子类的业务需求,子类有必要将父类中继承过来的方法进行重新编写,这个重新编写的过程称为方法重写 / 方法覆盖

发生方法覆盖的条件

  • 发生在具有继承关系的父子类之间

  • 返回值类型相同, 方法名相同,形参列表相同

  • 访问权限不能更低,可以更高

  • 抛出异常不能更多,可以更少

    1
    2
    3
    4
    5
    6
    7
    8
    class A {
    public void m1() {}
    }

    class B extends A {
    // 子类永远无法抛出比父类更多的异常
    public void m1() throws Exception {}
    }

注意:

  • 建议方法重写的时候,尽量复制粘贴,不要编写,容易出错,导致没有产生覆盖
  • 私有方法与构造方法不能继承,所以不能覆盖
  • 静态方法不存在覆盖
  • 覆盖只针对方法,不针对属性

eclipse 快捷键

右键文件 –> Source –> Override/Implement Methods